# 建造者模式

class Person:
    def CreateHead(self):
        pass

    def CreateHand(self):
        pass

    def CreateBody(self):
        pass

    def CreateFoot(self):
        pass


class ThinPerson(Person):
    def CreateHead(self):
        print("Thin head")

    def CreateHand(self):
        print("Thin hand")

    def CreateBody(self):
        print("Thin body")

    def CreateFoot(self):
        print("Thin Foot")


class ThickPerson(Person):
    def CreateHead(self):
        print("Thick Head")

    def CreateHand(self):
        print("Thick Hand")

    def CreateBody(self):
        print("Thick Body")

    def CreateFoot(self):
        print("Thick Foot")


class Director:
    def __init__(self, temp):
        self.p = temp

    def Create(self):
        self.p.CreateHead()
        self.p.CreateBody()
        self.p.CreateHand()
        self.p.CreateFoot()


if __name__ == "__main__":
    p = ThickPerson()
    d = Director(p)
    d.Create()
